tests: Stop using gdk_surface_fullscreen
authorMatthias Clasen <mclasen@redhat.com>
Sun, 1 Mar 2020 18:10:39 +0000 (10:10 -0800)
committerMatthias Clasen <mclasen@redhat.com>
Thu, 12 Mar 2020 18:56:20 +0000 (14:56 -0400)
tests/testfullscreen.c

index f73a6d608f4acdb31377d2a92dc42b80b08b2217..e22d190ce5988ff6c2b6d25234b96737a0668fcf 100644 (file)
 static void
 set_fullscreen_monitor_cb (GtkWidget *widget, gpointer user_data)
 {
-  GdkFullscreenMode mode = (GdkFullscreenMode) GPOINTER_TO_INT (user_data);
-  GdkSurface  *window;
+  GdkFullscreenMode mode = GPOINTER_TO_INT (user_data);
+  GdkDisplay *display;
+  GdkSurface *surface;
+  GdkMonitor *monitor;
+  GdkToplevelLayout *layout;
 
-  window = gtk_native_get_surface (gtk_widget_get_native (widget));
-  gdk_surface_set_fullscreen_mode (window, mode);
-  gdk_surface_fullscreen (window);
+  display = gtk_widget_get_display (widget);
+  surface = gtk_native_get_surface (gtk_widget_get_native (widget));
+  if (mode == GDK_FULLSCREEN_ON_CURRENT_MONITOR)
+    monitor = gdk_display_get_monitor_at_surface (display, surface);
+  else
+    monitor = NULL;
+  layout = gdk_toplevel_layout_new (0, 0);
+  gdk_toplevel_layout_set_resizable (layout, TRUE);
+  gdk_toplevel_layout_set_fullscreen (layout, TRUE, monitor);
+  gdk_toplevel_present (GDK_TOPLEVEL (surface),
+                        gdk_surface_get_width (surface),
+                        gdk_surface_get_height (surface),
+                        layout);
+  gdk_toplevel_layout_unref (layout);
 }
 
 static void
 remove_fullscreen_cb (GtkWidget *widget, gpointer user_data)
 {
-  GdkSurface  *window;
+  GdkSurface *surface;
+  GdkToplevelLayout *layout;
 
-  window = gtk_native_get_surface (gtk_widget_get_native (widget));
-  gdk_surface_unfullscreen (window);
+  surface = gtk_native_get_surface (gtk_widget_get_native (widget));
+  layout = gdk_toplevel_layout_new (0, 0);
+  gdk_toplevel_layout_set_resizable (layout, TRUE);
+  gdk_toplevel_layout_set_fullscreen (layout, FALSE, NULL);
+  gdk_toplevel_present (GDK_TOPLEVEL (surface),
+                        gdk_surface_get_width (surface),
+                        gdk_surface_get_height (surface),
+                        layout);
+  gdk_toplevel_layout_unref (layout);
 }
 
 int